package cn.lblbc.downloadlib.database;

import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;

/**
 * 下载任务实体（对应 download_tasks 表）
 */
@Entity(tableName = "download_tasks")
public class DownloadTaskEntity {
    @PrimaryKey
    @ColumnInfo(name = "task_id")
    private long taskId;

    @ColumnInfo(name = "package_name")
    private String packageName;

    @ColumnInfo(name = "total_size")
    private Long totalSize;

    @ColumnInfo(name = "downloaded_size")
    private Long downloadedSize;

    @ColumnInfo(name = "status")
    private int status;

    @ColumnInfo(name = "is_wifi_only")
    private int isWifiOnly;

    @ColumnInfo(name = "create_time")
    private long createTime;

    @ColumnInfo(name = "update_time")
    private long updateTime;

    @ColumnInfo(name = "extra_info")
    private String extraInfo;

    public long getTaskId() {
        return taskId;
    }

    public void setTaskId(long taskId) {
        this.taskId = taskId;
    }

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public Long getTotalSize() {
        return totalSize;
    }

    public void setTotalSize(Long totalSize) {
        this.totalSize = totalSize;
    }

    public Long getDownloadedSize() {
        return downloadedSize;
    }

    public void setDownloadedSize(Long downloadedSize) {
        this.downloadedSize = downloadedSize;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public int getIsWifiOnly() {
        return isWifiOnly;
    }

    public void setIsWifiOnly(int isWifiOnly) {
        this.isWifiOnly = isWifiOnly;
    }

    public long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(long createTime) {
        this.createTime = createTime;
    }

    public long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(long updateTime) {
        this.updateTime = updateTime;
    }

    public String getExtraInfo() {
        return extraInfo;
    }

    public void setExtraInfo(String extraInfo) {
        this.extraInfo = extraInfo;
    }
}